package com.vm.osm.business.service;

import com.vm.osm.business.dto.req.checkPlan.ReqAddCheckPlan;
import com.vm.osm.business.dto.req.checkPlan.ReqAddPlanContent;
import com.vm.osm.business.dto.req.checkPlan.ReqUpdateCheckPlan;
import com.vm.osm.business.dto.req.checkPlan.ReqUpdatePlanContent;
import com.vm.osm.business.dto.rsp.checkPlan.*;
import com.vm.osm.business.entity.OsmCheckPlan;
import com.vm.osm.business.entity.OsmCheckPlanInst;

import javax.servlet.http.HttpServletRequest;
import java.net.HttpCookie;
import java.util.Date;
import java.util.List;

/**
 * Created by chenzui on 2018/2/7.
 */
public interface ICheckPlanService extends IBaseService<OsmCheckPlan,String> {
    public RspCheckPlan selectCheckPlanById(String id);

    public RspCheckPlanPage findPage(String enterpriseId, Integer pageNum, Integer pageSize, String title, String planType, String status, Date startTime, Date endTime);

    public void addCheckContent(ReqAddPlanContent reqAddPlanContent,String staffId,String staffName,String enterpriseId);

    public void updateCheckContent(ReqUpdatePlanContent reqUpdatePlanContent, String staffId, String staffName,String enterpriseId);


    public RspPlanContentPage findContentByPage(Integer pageNum,Integer pageSize,String planTitle,String enterpriseId);

    public void deleteContentByIds(String ids);

    public RspContentDetail getContentById(String id);


    public void handCheckPlanAction(String type,String id);

    public void createCheckPlan(ReqAddCheckPlan reqAddCheckPlan);

    public List<EquTypeKpis> queryKpiByEquType(String enterpriseId,List<EquTypeKpis> types);

    public List<OsmCheckPlan> findAll();

    public OsmCheckPlanInst selectFirst(String checkPlanId);

    public void updateCheckPlan(ReqUpdateCheckPlan reqUpdateCheckPlan, HttpServletRequest request);
}
